package fr.afcepf.al23.qualite.business;

import fr.afcepf.al23.qualite.data.IDaoUtilisateur;
import fr.afcepf.al23.qualite.entity.Utilisateur;
import fr.afcepf.al23.qualite.exceptions.QualityException;
/**
 * Implémentation des régmes de getiopour les méthodes liées à l'{@link Utilisateur}.
 * @author Stagiaire
 *
 */
public class BusinessUtilisateur implements IBusinessUtilisateur {
    /**
     * Dépendance vers la couche d'accès aux données.
     */
    private IDaoUtilisateur daoUser;
    /**
     * Méthode pour injecter la dépendance.
     * @param paramDao la dependance injectée.
     */
    public void setDao(IDaoUtilisateur paramDao) {
        daoUser = paramDao;
    }

    /**
     * Méthode pour enregistrer un {@link Utilisateur}.
     */
    @Override
    public Utilisateur enregistrer(Utilisateur paramUser)
            throws QualityException {
        if (!daoUser.verifMail(paramUser.getMail())) {
            paramUser = daoUser.enregister(paramUser);
        } else {
            QualityException qe = new QualityException("Le mail existe !");
            qe.setCode(QualityException.ErrorCode.MAIL_EXISTE);
            throw qe;
        }
        return paramUser;
    }

    @Override
    public Utilisateur verifMail(String paramMail) {

        return null;
    }

}
